257. istio-proxy Readiness probe failed
WHY
最近同事在壓測服務,
然後發現他的pod常常無故重啟,
不是restart,而是整個pod重建。
Solution
2024/12/13更新
找的方向錯誤,目前是這個NodePool只要掛上Taint後,
壓測時,就會導致Istio-proxy的readines 每小時重開一次。
看event事件,發現這個錯誤。
看來是istio-proxy本身的Readiness導致。
然後檢查istio-proxy本身的resource 也有設定limit。
先改個limit設定試試。
spec:
replicas: 1
selector:
matchLabels:
app: gameservice
group: gameservice
template:
metadata:
annotations:
sidecar.istio.io/proxyCPU: 200m
sidecar.istio.io/proxyCPULimit: 2000m
sidecar.istio.io/proxyMemory: 128Mi
sidecar.istio.io/proxyMemoryLimit: 2Gi
spec:
containers:
....
這個可以指定單個pod使用此設定,
如果要設成全域,參考setting-global-resource-requests-for-sidecar-proxy
但是,這情況仍然會發生。
猜測可能是壓策時,大量的請求塞到istio-proxy裡面導致無法負荷。
另一種是直接 停用readiness了 。
下面的方法,是改寫不是停用,
目前還沒找到停用的方法。
spec:
replicas: 1
selector:
matchLabels:
app: gameservice
group: gameservice
template:
metadata:
annotations:
sidecar.istio.io/rewriteAppHTTPProbers: "false"
spec:
containers:
....
ref.